package dawi.fcs.servicio.seguridad.servicio.impl;

import java.util.HashMap;
import java.util.List;

import dawi.fcs.dominio.seguridad.Usuario;
import dawi.fcs.servicio.factory.DAOFactory;
import dawi.fcs.servicio.generico.GenericoServicioImpl;
import dawi.fcs.servicio.seguridad.dao.UsuarioDao;
import dawi.fcs.servicio.seguridad.servicio.UsuarioServicio;

public class UsuarioServicioImpl extends GenericoServicioImpl implements
		UsuarioServicio {
	private UsuarioDao dao;

	public UsuarioServicioImpl() {
		dao = DAOFactory.getFactorty(DAOFactory.MYSQL).getUsuarioDao();
		this.setGenericoDao(dao);
	}

	@SuppressWarnings({ "rawtypes", "unchecked" })
	@Override
	public List<Usuario> listarPaginacion(HashMap<String, Object> map) {
		List list;
		list = dao.listarPorQuery("usuario.listarPaginacion", map);
		return list;
	}

	@SuppressWarnings("rawtypes")
	@Override
	public Usuario validaUsuario(HashMap<String, Object> map) {
		List lista;
		lista = dao.listarPorQuery("usuario.validarUsuario", map);
		if (lista.size() > 0)
			return (Usuario) lista.get(0);
		else
			return null;
	}

	@Override
	public Integer validaDNI(HashMap<String, Object> map) {
		return dao.contar("usuario.validaDNI", map);
	}

	@SuppressWarnings({ "unchecked", "rawtypes" })
	@Override
	public List<Usuario> listarSelector(HashMap<String, Object> map) {
		List lista = dao.listarPorQuery("usuario.listarSelector", map);
		return lista;
	}

	@Override
	public Integer contarPorUser(String user) {
		HashMap<String, Object> map = new HashMap<String, Object>();
		map.put("user", user);
		return dao.contar("usuario.contyarPorUser", map);
	}

}
